ol {
    counter-reset: section;
    list-style-type: none;
    display: table;
    padding: 0;
}
ol li {
    display: table-row;
}
ol li::before {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 1rem;
    font-weight: bold;
    counter-increment: section;
    content: counters(section, ".");
    display: table-cell;
    text-align: right;
    padding: 0.7rem 0.5rem 0 0;
}
body > ol > li > ol {
    margin-left: -0.6rem;
}
body > ol > li > ol > li > ol {
    margin-left: -1.2rem;
}
body > ol > li > ol > li > ol > li > ol {
    margin-left: -1.8rem;
}
body > ol > li > ol > li > ol > li > ol > li > ol {
    margin-left: -2.4rem;
}
body > ol > li > ol > li > ol > li > ol > li > ol > li > ol {
    margin-left: -3rem;
}
body > ol > li > ol > li > ol > li > ol > li > ol > li > ol > li > ol {
    margin-left: -3.6rem;
}
